package models

import "gorm.io/gorm"

// 话题模型
type PublicAddress struct {
	gorm.Model
	Address     string `gorm:"type:varchar(42);uniqueIndex" json:"address"`
	Label       string `gorm:"size:100" json:"label"`        // 地址标签/名称
	Description string `gorm:"type:text" json:"description"` // 地址描述
	Category    string `gorm:"size:50" json:"category"`      // 分类(如:交易所,合约,知名项目等)
	IsContract  bool   `json:"is_contract"`                  // 是否是合约地址
}

func (pa *PublicAddress) TableName() string {
	return "public_addresses"
}

// UserContact 用户联系人地址模型
type UserContact struct {
	gorm.Model
	UserID     uint64 `gorm:"index" json:"user_id"` // 所属用户ID
	Address    string `gorm:"type:varchar(42);index" json:"address"`
	Nickname   string `gorm:"size:100" json:"nickname"` // 联系人昵称
	Note       string `gorm:"type:text" json:"note"`    // 备注信息
	IsFavorite bool   `json:"is_favorite"`              // 是否收藏
	Tags       string `gorm:"size:255" json:"tags"`     // 标签，逗号分隔
}

func (uc *UserContact) TableName() string {
	return "user_contacts"
}
